Well, we .capitalize repo-type on output, and then are calling content_type() on input. My first question is, is there a reason to change the repo-type-string on output? 

On input, if we want to be more promiscuous in what we accept, I'd go with /i - no matter what weird case you give us, if the word looks like 'yum' or 'puppet', we know what to do with it, so don't throw an error.