See this page
http://fusesource.com/docs/esb/4.2/eip/MsgTran-Enricher.html
Which is also presented in the latest
http://fusesource.com/docs/esb/4.4.1/camel_eip/MsgTran-Enricher.html
The example which sets a header before calling contentEnrich is wrong, eg
from("activemq:queue:order")
.setHeader(Exchange.FILE_NAME, header("orderId"))
.pollEnrich("file://order/data/additional")
.to("bean:processOrder");
This is not currently support in Camel. The ASF camel docs has this warning
Data from current Exchange not used
pollEnrich does not access any data from the current Exchange which means when polling it cannot use any of the existing headers you may have set on the Exchange. For example you cannot set a filename in the Exchange.FILE_NAME header and use pollEnrich to consume only that file. For that you must set the filename in the endpoint URI.
There is a JIRA ticket to improve this in the future
https://issues.apache.org/jira/browse/CAMEL-4163