Preheat your oven to 400℉, and rub an 8×8-inch or 9×9-inch casserole dish with olive oil. This step is essential to prevent sticking and to add flavor to the dish.
Fill a medium pot and a large pot with water. Add a pinch of salt to each, and bring to a boil. Once boiling, reduce each pot's heat to medium. Place the chicken in the medium pot and the cauliflower florets in the large pot. Cover just the cauliflower pot with a lid. Cook until the chicken is no longer pink and the cauliflower is fork-tender, about 10 to 15 minutes.
Once the chicken is cooked, transfer it to a plate to cool. Drain the cauliflower and place it onto a kitchen towel to drain and cool for 10 minutes, or until cool enough to handle. This step is crucial to remove excess water so your casserole doesn’t become soggy.
While the cauliflower and chicken cook, heat the olive oil in a large, high-sided pan on medium heat. Add in the garlic, onion, and taco seasoning, and cook until lightly golden brown, stirring frequently. This should take about 3 to 5 minutes. You’ll know it’s ready when the onion becomes translucent, and the mixture smells amazing.
Add the can of enchilada sauce and bring to a boil. Cook for 1 minute at full boil. Reduce the heat down to medium and simmer until the sauce is reduced and thick, about 7 minutes. Keep an eye on it, stirring occasionally to prevent sticking.
Once the cauliflower is cool enough to handle, wrap it up in a kitchen towel and wring out as much of the water as possible. Do this twice, using a new towel each time. This is important to ensure the casserole holds its shape and flavor.
Place the cauliflower into a large food processor, along with the egg, egg white, salt, and a generous pinch of pepper. Add the enchilada sauce mixture and process until the mixture is smooth. Transfer to a large bowl. The texture should be creamy and well combined.
Shred the cooked chicken and add it into the bowl along with the green chilis, stirring until well mixed. Be careful not to overmix; we want to keep some texture in the casserole.
Transfer the mixture to the prepared casserole dish and cover with foil. Bake for 30 minutes, then remove the foil and cook for another 30 to 40 minutes, or until the casserole feels set and the sides are lightly browned. You’ll want to check for a firm texture before taking it out.
Sprinkle with cheese and cook an additional 2 to 3 minutes, until the cheese is melted. This step adds that delightful cheesy goodness that everyone loves.
Once out of the oven, cover the casserole with foil to keep it warm, and let it sit for 10 minutes, so it absorbs some of the excess moisture. Then, slice and serve. It’s essential to let it rest; this helps the flavors meld together.
Sprinkle with cilantro, tomatoes, and avocado to garnish. Serve hot and enjoy the delicious flavors!