add scala enum support