Hi Sankar --
If I understand Pranay's problem right, they would like to use message selector, but JMS message selectors only work against message properties, and the piece of uniqueness in the message is embedded inside the message payload.
This means that the virtual service has to select and open the message to determine whether the message is for itself. By that time, it's already too late to use message selectors.
So we need a virtual service to open the message and perform actions against it. This is a proxy virtual service, as Steve suggested. To make sure it conforms to Pranay's further requirements, I think there needs to be a second request proxy queue.
The proxy virtual service will open and read the message, storing the value of paymentMethod. It would then write the value of paymentMethod to a JMS header property and forward the entire request to the second request proxy queue.
Each of the virtual services that do different things depending on the value of paymentMethod would be listening to the second request proxy queue, and they would use message selectors against the JMS property that now contains the value of paymentMethod.
Rick