Preheat the oven to 350 degrees. Spray the inside of a 9-inch round cake pan with nonstick cooking spray.
Combine flour and baking powder in a small bowl and set aside.
In the bowl of a stand mixer fitted with the paddle attachment, whip egg whites until they form soft peaks. Add sugar and whip until the mixture is meringue-like in texture. Add the yolks one at a time and mix to combine. Then add the flour mixture and coconut milk alternately, beginning and ending with the flour mixture.
Using a rubber spatula, gently fold the shredded coconut by hand into the batter until just combined. Be careful not to over mix.
Pour the batter into the prepared cake pan and bake for 35-40 minutes or until the top is firm to the top and a toothpick inserted into the center comes out clean.
Meanwhile, combine the condensed milk, coconut milk, heavy cream and rum and set aside.
As soon as the cake comes out of the oven, evenly poke holes in the still hot cake and evenly ladle about half of the sauce over the cake until it has been absorbed. Refrigerate immediately for at least 2 hours, preferably 4-6 hours.
Meanwhile, in the bowl of a stand mixer fitted with the whisk attachment, whip the heavy cream and sugar until stiff.
To serve, ladle about a 1/4 cup of the sauce on the bottom of a plate. Place a slice of cake on top and top the cake with a dollop of whipped cream.