Preheat broiler to high.
In a heavy saucepan, melt the butter and add flour, stirring with a whisk. Add milk. Whisk until sauce thickens. Season with salt with salt, pepper, wine, cayenne, nutmeg and garlic. Add egg yolk and bring to the boil, stirring. Remove from heat.
Stir in cheese until melted.
Arrange slices of toast in one layer in a baking pan. Top each slice with ham. Spread cheese mixture evenly over ham.
Broil until bubbly and browned on top. Serve hot