Javadoc of getHarvestTool() says: "Queries the class of tool required to harvest this block, if null is returned we assume that anything can harvest this block." Null doesn't mean that tool is not effective, efficiency and harvestability are separate properties in minecraft.
Take a look at net.minecraft.item.Item#getHarvestLevel() and net.minecraft.item.Item#getStrVsBlock(). You should probably use those.