Butter a 2 quart baking dish and set aside.
Preheat oven to 400 degrees.
In a large sauce pan over medium-high heat, combine first 7 ingredients through cayenne and bring to a boil. Reduce heat and simmer, stirring frequently, until mixture begins to thicken. About 3-4 minutes. Add cream and combine.
Remove from heat and stir in cheeses and bacon. Allow to cool until just barely warm.
In the meantime, in a large mixing bowl whip egg whites and a pinch of salt on high until soft peaks form. About 1-2 minutes. Fold gently into corn mixture and then pour into prepared baking dish.
Place in oven reduce heat to 375 and bake until browned on top but slightly loose in the center. About 30 minutes.
Serve warm.