Preheat oven to 350 degrees.
In a medium saucepan cover cauliflower with water and cook for 8-10 minutes until soft. Drain, reserving a few tablespoons of cooking water.
Put cauliflower into blender and puree, adding cooking water a tablespoon at a time as needed..
In the sauce pan, heat olive oil over medium heat. Sautee onions and garlic 3-5 minutes until translucent. Add flour, salt and pepper and stir over medium heat for another minute or two to make a roux. (For gluten free, skip the roux making and just add seasonings at this point).
Remove from heat and slowly pour in milk whisking until smooth. Return to heat and cook for a few minutes until thickened. (For gluten free, add corn starch with milk and whisk thoroughly). Remove from heat.
Sprinkle cheese over milk mixture and mix until smooth.
Stir in cauliflower.
Separate eggs. Whisk yolks into milk mixture. Add pepper sauce to taste.
Gently fold whites into cauliflower mixture.
Pour into an ungreased 1 quart baking dish. Bake 35-40 minutes, or until top is golden brown and set in the center. Let cool 5 minutes before serving.