From spec
Enum literals support the use of Java enum literal syntax. The fully qualified enum class name must be specified.
select u from User u where u.Permission = XX.XX.Permission.APPROVE
Try this one.
String jpql =
"select u from User u join u.permission p"
+ " where p = :enumeration";
Query query = em.createQuery(jpql);
query.setParameter("enumeration", XX.XX.Permission.APPROVE);