data() return ArrayList instead of List and Enum.values() return a fresh array at each call so it should be call once
Fix classical Java mistakes i have missed during last code review
Fix classical Java mistakes i have missed during last code review