Migrating to key based caching from branch based with multiple conditional paths

We currently use the legacy branch based caching which uses → as an update indicator to say only update this path if this file changed.

The equivalent seems to be to use the checksum of the file you care about as the key.

I’m wondering how this works for multiple paths with conditional update indicators. Previously this can be handled by a single step. Would I now have to have a separate key based cached step for every conditional path, or is there a better way? Is there an overhead with having multiple steps if so or would it still be advisable to migrate to the newer step?