No one would "classify" PETSC_HAVE_HYPRE as being relevant to any particular thing. Rather if you are writing code anywhere in PETSc (Mat, PC, whatever) and wished to use hypre you would have
#include <petsc-private/petscconfhypre.h>
#if defined(PETSC_HAVE_HYPE)
just like now
Of course this requires always creating includes for all packages but maybe no biggie?