https://blog.shanyue.tech/posts/enum-vs-constant-number/