title: How to implement OptionFlag with urfave/cli
body: <p>Is there a way to define an OptionFlag with <code>urfave/cli</code>?</p>
  
  <p>I'm looking for something that will look like this.</p>
  
  <pre><code>mycli --format json
  mycli --format xml
  </code></pre>
  
  <p>I know I can use the StringFlag, but it would be great if I could have the <code>--help</code> show what are the valid options/values for this flag, so it is transparent for the end-user of <code>mycli</code>.</p>
  
  <p>This way the Flag could also be validated against the options to inform the user he has provided an invalid value for this flag for example, Which ofcourse can also be done with the StringFlag, but would rather have something more sofisticated that does all of this.</p>
  
  <p>I also filed an issue on the Github repository. Maybe it is a missing feature, which I would be happy to contribute with some guidance.</p>
  
  <p><a href="https://github.com/urfave/cli/issues/1154" rel="nofollow noreferrer">https://github.com/urfave/cli/issues/1154</a></p>