[eluser]jedd[/eluser]
Full disclosure - never used enums, and I feel about them much the same way as I do about stored procedures. (Not terribly fond, in case you were about to ask
They're nice here, as they force some integrity into your database, but I think you'd get the same by having a smallint as a required FK entry into your 'comment_type' table, consisting of two fields - ID and TYPE. The latter could refer to a database table, but not sure how ugly that might get.
I think MySQL 5 can force an FK to exist. I was reading something about this recently .. somewhere.
Enums mean you'd need to do some database modifications when adding new commentable stuff - but I suppose you're resolved to altering your DB at that point anyway.