We will be getting Data from external systems using MQ. How do we use listeners and service rules to consume the MQ and process the message? What all rules need to be implemented? We have our application deployed as Enterprise application. Please suggest an approach.
You would most likely be implementing Connect-MQ where you would provide the MQ Server, Queue Manager and Queue Name. The outgoing call will require request headers and request data - all provided by the destination MQ service team you are attempting to integrate with. The response will also require knowledge from the service team in regards to what they'll be sending in the header and data sections of the MQ message. Pega handles the rest.
Alternatively, you could setup an JMS MDB Listener since you're on eTier (JMS Listener or MQ Listener if you are not). This will provide functionality to pull messages once they placed on the endpoint service queue - without having to initiate the event. It'll involve configuring all the details in Pega and using Generate MDB. The output gets deployed to your application server hosting Pega.
If you do connectors - you'll need to import IBM's MQ libraries into Pega. Listeners won't need this.
This is a very expansive topic. I would suggest you consider Pega Academy for an intermediate level course in integration.
... or a Service-MQ. Although, it doesn't process the "message". That is done by the service activity set on the Service-JMS. All of the details regarding the request headers, request data, response headers and response data that I mentioned above in regards to connectors would all get configured in the Service JMS.