Pues yo lo veo bastante rebuscado, a tal grado que no entiendo ni una papa de lo que haces con switch-case.
Al parecer estás haciendo trucos chinos para implementar bit-wise, que te permite exactamente lo mismo, pues estás convirtiendo los resultados booleanos en máscaras de bytes.
PDTA: ¿Yo agresivo?
No, para nada, soy directo.
Honestamente se me hace una pérdida de tiempo tu manera de hacer bit-wise.
Marvin, la programación no sólo se trata de gustos, se trata de escribir programas para que otros humanos lo entiendan, no al revés.
Usar if-then-else / switch-case no es una cuestión de "sabor", es una cuestión de legibilidad y claridad de lo que se expone.
Si todo fuera cuestión de gustos seguiríamos usando goto, la estructuras de control tienen razón de ser.