Check out this very recent thread: Hover Tool dynamic fields - #5 by gmerritt123
You can basically set up your tooltips in a dictionary, one for each case, pass that tooltip dict, the hovertool, and the datasource to CustomJS that is trigged on source inspected indices.change (i.e. on hover). The CustomJS looks at the value of the inspected index, and depending on the value, assigns the tooltip you want to display.