Preheat the oven to 350 degrees F. Spray a 9x13 inch baking dish with nonstick spray.
To make the sauce, heat a skillet over medium heat and add the butter. Add in the onions and green chilies with a pinch of salt, stirring well. Cook, stirring occasionally, until the onions soften, about 5 minutes. Stir in the flour and cook for 5 more minutes, stirring often, until the mixture smells nutty and fragrant. Very slowly pour into the chicken stock while stirring so the mixture thickens. Bring it to a simmer and let it thicken and bubble for 5 minutes.
Reduce the heat to low and stir in the sour cream and the half and half. Stir until combined and cook for 5 minutes, until warmed through. Stir in 1/2 to 3/4 cup of the cheese until it melts completely. At this time, you want to warm your tortillas so they don't break - either pop them in the warm oven for two minutes or so or you can even microwave them.
Spoon a bit of the sauce into the bottom of the baking dish, just to coat the dish. Take about 2 tablespoons of the shredded beef and roll it up tightly in the warm tortillas, placing them side by side in the dish. I can usually fit six of the small tortillas in two separate rows in a 9x13 dish!
Pour the rest of the sauce overtop of the enchiladas, covering every bit. Top with the remaining monterey jack cheese. Bake for 30 to 35 minutes, or until the sauce is golden and cheesy and bubble. Remove and top with the cilantro and green onions before serving.
I love to serve these with avocado slices, lime wedges and tortilla chips!