こういうのは結局if羅列が正解なんだよな
switchだと値の単純比較しかできないからifで柔軟に分岐させるほうがいい
あらかじめ書式を増やせるような工夫は大抵の場合YAGNIでコードを複雑に遅くするだけで終わる