I think we all talked how innocent and how precious is the fact that Eggsy refused to kill JB or run over that fox, but had no trouble killing Arthur and inducing small genocide.
The fact that everybody are forgetting in that is Eggsy was in-training for Royal Marines. He is a soldier, if he wants to cover that or not. So he had been taught to only shot when in danger. Which means that he also declines to involve inoccents into conflict. As he didn’t drive over that fox, even if that could mean he could get away from the police.
Him being soldier uncovers he couldn’t kill JB, because JB is his comrade. You don’t kill your comrades. Until some betrayal is involved. But it is impossible for his loyal dog to betray him. So Eggsy declines. Which is shown when he kills Arthur. Arthur is a traitor and is held responsible for killing Harry.
He’d seen Harry getting killed. He experienced how easly is to be betrayed. So he transforms his facade into spy. He kills only people he considers enemies. Valentine followers are all treated like enemies. Also, also Eggsy is vengeful. But saving the lives of innocents is more important. And he goes by every mean necessary to save the innocents.
So basically what I want to tell: integrity. Eggsy’s best virtue is intergity.