Te faltó poner
break;
como instrucción final de cada case sino se ejecutan todos uno tras otro.
Saludos