Preheat the oven to 350 degrees.
Heat 2 tablespoons of vegetable or olive oil in a large skillet over medium heat. Add the onions and cook until soft, about 5 minutes.
Add garlic, cumin, chile powder, and cayenne pepper and continue stirring for about 1 minute to toast the spices.
Add 2 cups of water, the tomato puree and a pinch of salt. Bring to a simmer.
Simmer for about 15 to 20 minutes to reduce and thicken the sauce. Set sauce aside.
Heat 2-3 tablespoons of oil in a large skillet over medium heat. Add onions and cook for about 5 minutes.
Add chopped broccoli and cauliflower and cook for an additional 5-7 minutes. Season with a pinch of salt. Stir occasionally.
Add shredded carrots, zucchini/summer squash, and hot peppers. Cook for an additional 5-7 minutes.
Add chopped cabbage, kale and/or Swiss chard and cook until slightly wilted. Stir occasionally to mix.
Turn off heat and mix in half of the cheddar and pepper jack cheeses and 1/4 cup of the enchilada sauce to the filling mixture. Taste and season with salt and pepper. Stir well to combine.
To assemble the enchiladas, spread about 1/2 cup of enchilada sauce on the bottom of a 9-by-13 baking dish.
Lay tortillas onto a clean plate or work surface. Put about 1/4 cup of filling into the center of each tortilla and roll. Once rolled, place tortilla in the baking dish seam side down.
Continue this step until the baking dish is tightly filled with rolled tortillas.
Pour the remaining enchilada sauce over the rolled tortillas. Top tortillas with the remaining cheese.
Cover dish with foil and bake for about 30 minutes. After about 30 minutes, remove the foil and cook for an additional 10 minutes to brown the cheese.
Serve with a spritz of lime juice and top with your favorite garnishes (sour cream, scallions, hot sauce, etc.).