If an account holds more than one type of token and I want to transfer only a specific token to other addresses using solidity
emit Transfer(_from, _to, _tokens), how do I make sure that I'm able to send the right token?
Token balances are keep in the storage of each token contract. To make transfers you need to send the operation to the token contract.
If a user have REP, GNO and BAT tokens, and he want to transfer GNO tokens he have to send the operations to the GNO contract, there's no ambiguity.
Transfer event comes from the token contract address that is unique.
Furthermore you call
tranfer() function against the token contract you wish to send.