Added Enum to replace nullable bools.

- Also fixed up and added some tests