enum یک struct نیست بلکه همون enumeration تو اکثر زبان های برنامه نویسی هستش. enum ها مثل مجموعه ها می مونن و برای تعریف یک سری ثابت به هم وابسته هستن.
مثل مجموعه اسامی گل ها (شامل 10 گل) که ثابت هستن و به هم ربط دارن رو میشه یک enum براشون تعریف کرد. یا مثلن مجموعه حالاتی که یک پردازش به خودش میگیره.
در کل توی جاوا چون مبنا بر این بوده که همه چی شی گرا باشه و جز کلاس هیچ ساختار دیگه ای نباشه، enum رو شبیه کلاس ها پیاده سازی کردن.
قبل از اومدن enum تو جاوا تو نسخه 5 از اینترفیس ها برای این منظور استفاده میشد. چون لازم نیست شما شی تعریف کنی از یک سری مقدار ثابت مشخص!
با تشکر از : http://barnamenevis.org