Fixes bug where falsy choice values incorrectly take the choice name.

Choices with falsy values cause the value to take-on the name, which (IMHO) is not expected.
In my use-case, I would like to use numbers (including zero) as values.
I could imagine using null or undefined as values too, depending on the situation.

This patch makes such things possible.

This fix _might_ cause issues for existing users if they were relying on the existing behaviour.