Updated version. I had forgotten to remove the case-insensitive stuff from einput_list(). Input is now case-sensitive, as ebuild devs may want, for example, "r" and "R" to represent two different (but related) choices.
Also did a little tidying.
einput.eclass
Description: Binary data