Preheat the oven to 350°F/180°C, and spray a 9x13 inch pan with cooking spray.
Heat olive oil in a skillet over medium high heat, then add the ground beef and onion, and cook breaking the meat apart with a wooden spoon as you cook it. Drain fat if necessary.
Add taco seasoning and water, stir and cook for 1-2 minutes then add the bell pepper and cook for 1 minute.
Remove from heat, and mix in corn, black beans, and green chiles if using.
To the casserole dish, add a thin layer of enchilada sauce then layer a few tortillas to cover the sauce.
Top the tortillas with half of the meat mixture, followed 1 cup of shredded cheese and half of the enchilada sauce.
Again layer with tortillas, followed by the remaining meat mixture, 1 cup of shredded cheese, and the remaining enchilada sauce (leaving 1/2 cup of the sauce for the top).
For the final layer, top with the remaining tortillas, and pour the remaining enchilada sauce on the tortillas then finish off with 1 cup of shredded cheese.
Bake in the oven uncovered for 40 minutes.
Remove from the oven, and allow to set for at least 15 minutes before slicing and serving. Garnish with diced tomato, diced bell pepper, and fresh cilantro.