Stefan accidentally killed Enzo in self-defense and to protect Elena from Enzo's revenge, and yes, it was an accident. Stefan had his hand around Enzo's heart, and Enzo yanked himself backwards, knowing that Damon would want revenge on Stefan for killing him. Yeah, this vamp was definitely a villain but we loved his snark and sarcasm so much that we didn't want to see him go! Thankfully, he stuck around as a (pesky) ghost until he managed to escape the Other Side and come back to life a few episodes later.