Das ist variabler als mit case und auch nicht unübersichtlicher.
Ich finde die Case-Anordnung deutlich übersichtlicher und inwiefern ist das variabler (bzw. braucht man hier Variabilität)? Aber es stimmt, so ganz schlau wird man aus dem vorhandenen Code nicht. Aber er scheint in jedem Fall zu einer Case-Konstruktion zu passen. Der Code wird in jedem Fall schon mal deutlich kürzer, wenn man die unnötigen
begin ... end;
weglässt.