Step 1
Preheat oven to 350 degrees F (175 degrees C). Grease and flour two 9-inch cake pans or one 9x13-inch pan.
Step 2
Beat 2 cups sugar and shortening with an electric mixer in a large bowl until light and fluffy. Add the egg yolks one at a time allowing each yolk to blend into the butter mixture before adding the next. Mix in the vanilla.
Step 3
Place coconut in a food processor and pulse until finely chopped. Whisk coconut together with flour and baking powder; set aside. In a separate bowl beat the egg whites until medium-stiff peaks form.
Step 4
Pour the flour mixture into the batter alternately with the milk mixing until just incorporated. Using a whisk or rubber spatula gently fold 1/3 of the egg white mixture into the batter to lighten. Fold in remaining egg whites. Pour batter into prepared pans.
Step 5
Bake in preheated oven until cake springs back when lightly touched with a finger and a tester inserted in the center comes out clean about 30 minutes for layers or 40 minutes for a 9x13-inch pan. Let cakes cool completely on wire racks.
Step 6
To Make White Frosting: shake 6 tablespoons flour and 1 cup milk in a jar. Transfer to a saucepan. Cook mixture over medium heat stirring constantly until mixture has thickened about 15 minutes. Remove from heat and allow to cool.
Step 7
Beat 1 cup sugar butter and 1/2 cup shortening with an electric mixer until smooth and fluffy. Add cooled milk mixture and beat well; stir in 1 teaspoon vanilla.