Place the milk and shortening or butter in a medium saucepan and heat over medium heat just until warm enough to melt the shortening or butter. Set aside.
In a small bowl, sprinkle the yeast over the warm water and let dissolve for 5 minutes. After 5 minutes, pour the yeast mixture into the large bowl of a stand mixer and add the milk and shortening/butter mixture, first making sure the milk and shortening mixture has cooled to lukewarm. Add the eggs, sugar, salt, and half of the flour.
Using the dough hook attachment, combine the ingredients on low speed until flour is incorporated and then turn the speed up to medium and beat until well combined. Add the rest of the flour so that you have used 5 cups, combining on low speed at first, and then increase the speed to medium and beat well.
Let the dough knead until the dough pulls away from the bowl and becomes smooth, approximately 3 to 4 minutes. You can add the additional ½ cup of flour as needed, a few tablespoons at a time if your dough is sticky.
Transfer to a well-oiled bowl, cover, and let rise for 1 hour or until doubled in size.
On a well-floured surface, roll out dough to ⅜-inch thick. Cut out dough using a 2 ½-inch doughnut cutter or pastry ring and using a ⅞-inch ring for the center whole. Set on floured baking sheet, cover lightly with a tea towel, and let rise for 30 minutes.
Preheat the oil in a deep fryer or Dutch oven to 365 degrees F. Gently place the doughnuts into the oil, 3 to 4 at a time. Cook for 1 minute per side or until deep golden brown. Transfer to a cooling rack placed in baking pan. Allow to cool for 15 to 20 minutes prior to glazing, if desired.