Cook sausage in a skillet over medium heat until browned and crumbly, about 7 minutes. Reserve 2 tablespoons green onion for garnish. Stir in bell pepper and remaining onion and remove from heat.
Lightly grease a 9x13-inch baking dish. Divide meat mixture among the tortillas and top evenly with about 2 cups shredded cheese. Roll each tortilla and place seam side down in the prepared dish.
Whisk together eggs, half-and-half, hot sauce, salt, pepper, garlic powder, flour, and 1/4 cup enchilada sauce in a medium bowl until well blended. Pour mixture over tortillas and top with remaining enchilada sauce. Cover with foil and refrigerate at least 4 hours or overnight.
Preheat the oven to 350 degrees F (180 degrees C).
Bake casserole, covered, in the preheated oven for 30 minutes. Uncover and top with remaining cheese.
Bake uncovered until cheese is melted and casserole is lightly browned and bubbly around the edges, 15 to 20 minutes more. Sprinkle with reserved green onions and serve with desired toppings.