Preheat oven to 350 degrees. Butter a 9×13 inch baking pan.
Whip 2 cups of heavy cream with 1 tablespoon sugar and 1 teaspoon vanilla extract on a high speed with a hand mixer until stiff peaks form. Set aside in a covered container in fridge until ready to serve.
Spread ⅔ cup of the shredded coconut on a sheet pan and toast in the oven until golden brown. Set aside to sprinkle on top when ready to serve.
Beat together egg whites and ¼ cup of sugar with a hand-mixer (or stand mixer) until soft peaks form, 4 to 5 minutes.
In a separate bowl, beat yolks and ¾ cup sugar until they are pale yellow and at the ribbon stage. Add to egg white mixture and whisk until completely combined.
In another bowl, combine flour, baking soda, salt and remainder of the coconut. Gradually fold this mixture into the egg mixture until combined.
Pour batter into the greased pan. Bake until golden and the center is no longer jiggling. Approximately 18-20 minutes.
While your cake is baking, prepare the soaking liquid by whisking together 1 cup heavy cream, the coconut milk, the condensed milk and the rum (optional).
As soon as cake is removed from the oven, poke holes in the top of the cake with a toothpick or fork then pour the creamy soaking liquid mixture over the cake. Don't worry if it looks like too much, the cake will soak it up. Let the cake cool in the pan at room temp. Cover the cake with plastic wrap, and refrigerate at least 5 hours.
Just before serving, spread whipped cream over cake and sprinkle toasted coconut on top. Enjoy the looks on your friends' faces when they can't believe it is gluten free and dairy free too if you choose that option:-)