Add tests, improve docs for field subclass with choices