Grease a 9×13-inch casserole dish with cooking spray and set aside.
Heat a large skillet over medium-high heat and add the oil, bell pepper, and onion. Cook until they begin to soften, 4-6 minutes.
Reduce the heat to medium-low and add the diced green chilies, garlic powder, chili powder, and red pepper flakes, cooking for an additional 1-2 minutes. Remove the skillet from the heat. In a large mixing bowl, or in the bowl of a stand mixer with the whisk attachment, whisk together the eggs, egg whites, milk, salt, and pepper.
Slice the bread into 1 to 2-inch cubes and place on the bottom of the prepared casserole dish. Spread the ham, cooked vegetables, and tomatoes over the bread. Pour the egg mixture over the casserole and tightly cover the casserole dish with foil. Store in the refrigerator for several hours, to overnight.
When ready to bake, preheat the oven to 350° F. Top the casserole with the shredded Mexican cheese and bake uncovered for 35-40 minutes, or until the eggs are set.