Timing issue with button press

You might run into trouble trying to ++ an enum though, I believe you can do showType = showType + 1; or if that's a bit messy, you can write an operator overload for the ++;

const char* showNames[] = { "ALL_OFF", "HIGHLIGHT", "PATRIOTIC", "BREATH",  "HOMERUN"};
enum Shows {
ALL_OFF = 0,
HIGHLIGHT,
PATRIOTIC,
BREATH,
HOMERUN,
NUM_SHOWS
};
Shows showType = ALL_OFF; // Or whatever you want it to be. 

void setup() {
  Serial.begin(9600);
    for (; showType < NUM_SHOWS; showType = showType+1)
     Serial.println(showNames[showType]);
}

void loop() {}

This is tested now.