Computational approaches to understand the atomistic drivers of enzyme catalysis