We don't have to figure out the name, we can just fetch it from the
metadata table. Also there is no reason to %select over the names since
they're not natural language but keywords.
Subsequently we can focus on the actual logic and merge some branches
together. Unhandled cases are now marked unreachable, but this shouldn't
have any effect as of now. (We handle all existing commands.)