In a medium bowl, add cake flour, baking powder, baking soda and salt. Stir together with whisk, and set aside.
In the bowl of an electric mixer, add eggs, sugar, vanilla, rum, and oil; beat on medium speed for about 30 seconds. Reduce mixer speed to low and slowly add about half of the flour mixture. Add half of the buttermilk, then the rest of the flour and the rest of the buttermilk; beat until combined.
Separate batter into bowls and color with gel food coloring in yellow, purple, and green. Pour a little of each batter into lined cupcake. Fill liners a little over half full. Bake cupcakes 12-14 minutes. Remove from oven and allow to cool completely before frosting.
Using the paddle attachment of your stand mixer, whip the butter on medium-high speed for 2 minutes till butter is soft and fluffy. Reduce the speed to low and gradually add the powdered sugar. Once all of the powdered sugar is incorporated, increase the speed to medium-high and add the vanilla, mix well. Whip at medium-high speed until light and fluffy, about 2 minutes, scraping the bowl as needed. To color frosting just whip with purple, yellow, and green gel food coloring individually.
To swirl the frosting, simply put each color of frosting on each side of bag and pipe. I used a 1M tip from Wilton.