MACRO + switch cases