remove case statement

This is a quick refactor to tidy up the abstraction of git repos. On my system there is a slight decrease in performance(~200ns more than the original case statement), but I think that the ease of extension is worth the cost.