Make click.Choice work with enums. Passing an Enum class (for example click.Choice(Color)) or a list of Enum members should be accepted. Users type the member name on the command line (case_sensitive=False must still work), the command receives the Enum member itself, and the help text, metavar and error messages show the member names. Shell completion should suggest the member names too. Plain string choices must keep working exactly as before. Add tests and a CHANGES.rst entry, and run the full test suite with `python -m pytest` before you finish.
