Modern statistical analyses often involve testing large numbers of hypotheses. In many situations, these hypotheses may have an underlying tree structure that not only helps determine the order that tests should be conducted but also imposes a dependency between tests that must be accounted for. Our motivating example comes from testing the associations between groups of microbes (organized in operational taxonomic units or OTUs) and a trait of interest. Given p-values from association tests for each individual OTU, we would like to know if we can declare that a certain species, genus, or higher taxonomic grouping can be considered to be associated with the trait. We develop a bottom-up testing algorithm that controls the error rate of decisions made at higher levels in the tree, conditioning on findings at lower levels in the tree. We further show this algorithm controls the false discovery rate based on the global null hypothesis that no taxa are associated with the trait. By simulation, we also show that our approach is better at finding driver taxa, the highest level taxa for which there are dense association signals in all taxa below the driver taxon.