The javadocs for @CustomScoped indicate that the value of the value attribute must evaluate to a String:
When this annotation, along with ManagedBean is found on a class, the runtime must act as if a <managed-bean-scope<VALUE<managed-bean-scope> element was declared for the corresponding managed bean, where VALUE is the value of the value() attribute, which must be an EL expression that evaluates to a String.
I thought it was supposed to evaluate to a map.
david