gmx enemat extracts an energy matrix from the energy file (-f). With -groups a file must be supplied with on each line a group of atoms to be used. For these groups matrix of interaction energies will be extracted from the energy file by looking for energy groups with names corresponding to pairs of groups of atoms, e.g. if your -groups file contains: 2 Protein SOL then energy groups with names like 'Coul-SR:Protein-SOL' and 'LJ:Protein-SOL' are expected in the energy file (although gmx enemat is most useful if many groups are analyzed simultaneously). Matrices for different energy types are written out separately, as controlled by the -[no]coul, -[no]coulr, -[no]coul14, -[no]lj, -[no]lj14, -[no]bham and -[no]free options. Finally, the total interaction energy energy per group can be calculated (-etot).
An approximation of the free energy can be calculated using: E_free = E_0 + kT log(<exp((E-E_0)/kT)>), where '<>' stands for time-average. A file with reference free energies can be supplied to calculate the free energy difference with some reference state. Group names (e.g. residue names) in the reference file should correspond to the group names as used in the -groups file, but a appended number (e.g. residue number) in the -groups will be ignored in the comparison.