Add Kind enum to types for easy downcasting of Type