I am new to pygame and I am working on a distributed peer-peer multiplayer game. I tried doing the following but I was not able to figure out how. 
I have a player class and an enemy class. The player and enemies are all part of different sprite groups. Say in a 4 player game where there is one player object and 3 enemy objects, When a player fires , I use the spritecollide method to check collision with the enemy sprite group. But I want to identify in specific as to which enemy has been shot within the spritegroup. I am quite not able to figure that out. Is that even possible ?
Seeing as it sounds like enemy objects and player objects can do the same thing, maybe you should have one common class for both enemy and player.
This could be called for example a creature class. Then based on if the creature is a enemy or player you can control it using an EnemyAI class or a UserInput class. 
As for identifying who was hit, you can easily add a name variable within each of the creature classes that you define upon declaring a new creature. Then when you evaluate hits, you can have the function return the name of the creature who was hit.
Detecting sprite object within a sprite group on collision