title: Support for Enum arguments in argparse
body: <p>Is there a better way of supporting Enums as types of argparse arguments than this pattern?</p>
  
  <pre><code>class SomeEnum(Enum):
      ONE = 1
      TWO = 2
  
  parser.add_argument('some_val', type=str, default='one',
                      choices=[i.name.lower() for i in SomeEnum])
  ...
  args.some_val = SomeEnum[args.some_val.upper()]
  </code></pre>