https://bbagwang.com/posts/how-to-iterate-over-uenum/