Add support for options that have a finite set of acceptable values.

This includes listing the values in --list-scenes, and warning the users if
they use unacceptable values.