Generify ArgumentParser
Add Enum parser plus add complete methods ready for tab-completion