Cache each taxonomy individually

This means that when a taxon within a taxonomy is updated, we only need to invalidate that taxonomy's cache and no other