I recently migrated my JSF app(using primefaces) from glassfish 3.1 to tomcat7 server. Previously passing the enum value as string to managed bean methods through acti
It's a bug in Tomcat's EL implementation. I've reported it for you: issue 52970. Hopefully they aren't as picky on this as on my previous reports.
Until they get it fixed, your best bet is to drop a copy of Glassfish 3's EL 2.2 implementation JAR file in your webapp's /WEB-INF/lib
and tell Mojarra to use it instead by the following entry in web.xml
:
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>com.sun.el.ExpressionFactoryImpl</param-value>
</context-param>
Update: the ticket mentions that it's fixed and it will be in 7.0.27 and onwards.