Adds further enum support and tests