In the bowl of a stand mixer, fitted with hook attachment, add the warm water, sugar, and yeast. Let stand about 5 minutes until it is foamy.
Add the flour, milk, oil, salt, and caramelized onions to the bowl of the stand mixer. Knead the dough until it forms an nice elastic ball, it should only be sticking to the bottom of the bowl. Place the dough into a well greased bowl and coer with plastiv wrap to double in size, this can take about 1 1/2 - 2 hours.
Remove the plastic wrap and punch down the risen dough, then divide into two equal portions. Roll each poriton,on lightly floured surface, into a a large rectangle then sprinkle evenly with the grated cheese.
Roll the rectangle up from the wide edge creating a tight roll. Repeat with the second portion of dough.
Use a knife to slice the jelly roll in half, then pinch the ends of the halfs together and tightly braid them one over the other. Once you reach the other ends pinch that dough together also. Repeat this process with the second roll.
Place the braided dough into lightly greased loaf tins, cover both loaves with plastic wrap and allow to rise a second time until bread fills the pan. This takes about an hour
Near the end proving time preheat the oven to 350 degrees and prepare an egg wash by combining and egg with 2 tablespoons of water.
Once loaves are ready remove the palstic wrap and generously brush the tops of both loaves with the egg wash. Place the loaves into the preheated oven and bake for 50-60 minutes, the loaves should be golden brown.
Immediately remove the bread from the loaf pans and place on wired rack to cool.