There's not really a way to change the * to all of the program names on the tooltip. However I was able to update the dashboard action so that clicking on a town on the map filters the list on the right. The solution is in the attached file. Just needed to add the "name 10" field to the detail on Sheet 2 and then use Sheet 2 to filter Sheet 1.
Let me know if you have any questions.
TEMP.twbx 2.8 MB
This is a case where I'd suggest doing a join instead of a data blend. If you join the geography file to the program information then you'll have everything in one data source, then you can use Tableau's viz in tooltip feature introduced in v10.5 to show the programs in each town.
So the map sheet would have the Town on level of detail (but not Program, if you want to show that there are different programs then I'd suggest using COUNTD([Program]) or something like that), and a tooltip sheet would have the town & program as dimensions.
I set up an example using Tableau's Superstore with Zip Code as a stand-in for town and Customer Name as a stand-in for program:
v10.5 workbook is attached.