Make the enchilada filling first. Melt butter in a large skillet over medium-high heat. Add onions and cook until fragrant, about 1 minute. Add turkey, followed by flour and all spices for the filling. Mix well.
Stir in tomatoes and their juice. Use a pair of scissors to cut the tomatoes into small pieces. Bring to a boil, then reduce heat to medium-low. Simmer for 15 minutes.
While the filling is simmering, make the enchilada sauce. In a small saucepan, add garlic and butter. Cook over medium heat until butter is infused and melted. Stir in flour until blended. Gradually stir in broth, stirring constantly.
Bring the sauce to a boil. Stir in tomato sauce and all the seasonings. Cook until bubbly. Remove from heat.
Now, heat the oven to 350°F.
To assemble, pour 1 1/2 cups of the enchilada sauce in a 13×9-inch baking dish and spread to cover the bottom of the dish.
Lay one tortilla on a flat surface, place about 1/4 cup turkey mixture in the center of the tortilla and top with 1-2 tablespoons cheese. Roll up tightly and place the seam side down over the sauce in the baking dish. Repeat with the remaining tortillas.
Top the enchiladas with the remaining sauce. cover with foil and bake for 30-35 minutes.
Sprinkle with the remaining cheese and bake for another 10-15 minutes, uncovered, until the cheese melt. Garnish with fresh cilantro and serve with avocados. Enjoy!