Sauce: Put the olive oil and chopped onion in a frying pan, over low heat. Low and slow is the key to carmelizing that onion. Put the lid on the pan when cooking, although you will want to lift and shuffle those onions around every 1-2 minutes to cook evenly.
Grits: Meanwhile, put those 3 cups of water into a pot with plenty of room at the top. Otherwise it could boil over. Bring it to a boil on medium-high heat. Once the water is boiling, add the cup of grits, and turn down the heat to low.
Grits: With grits, it's best to stir with a whisk, for even distribution. Whisk those grits often to avoid clumps. Stir in the 1/4 of milk when it gets thick to keep from getting too dry. The grits will need to cook about 10 - 15 minutes.
Sauce: Those onions should be close enough to carmelized now. Dump the can of enchilada sauce in with them, plus use that same can for water to add too. Then add the portabello mushroom, stir it around, and add the lid again. After about 5-6 minutes, those mushrooms will be soft and sauce will be ready. No worries cooking at little longer, or you can just turn off the burner and let it set.
Sauce (optional for non-vegetarians): Shrimp is another great addition to the enchilada sauce. Add it in at the same time as the portabellos.
Grits: When the grits are thick and soft, whisk in the sharp cheddar cheese, dash of pepper, and Bacon Salt. You will probably want to pepper and salt to taste - some people like less, some more.
Serve: We like to serve in a bowl with grits on one side and sauce on the other, but you could top the grits with the sauce if you like. Whatever. It's cheesy and spicy, especially if you use that El Pato "duck" sauce - that'll make you sweat a bit. Good luck!
Sausage is another great addition to the enchilada sauce. Gives it almost a jambalaya thing without the Creole. Probably could add chicken, shrimp, whatever to meat it up.