Its not contradictory to support hamas but be broadly against terrorism.
Of course, in that case, you'll have no problem with someone who joins the KKK, claims he does it because they clean up highways as volunteer work, and still declares they are "broadly against racism".
Or with someone who joins the Nazi with full knowledge of their goal of the "final solution" because, the new Nazi claims, they build all those nice new autobahns, and he stills considers himself "broadly against antisemitism".
Generally speaking, when an organization's goal is openly genocide and terrorism and murder, said organization's charity work (if any) pales into insignificance, and is no excuse for supporting them. If some organization wants to kill all Sudanese, or all Norwegians, or all Chinese, or all Blacks, or all Women, whatever schools it establishes or clinics it opens is irrelevant -- its genocidal goals alone put it beyond the pale.
But not so when it comes to the genocide of the Jews.
When the organization is openly genocidal but
it's just Jews that it wants to genocide,
that, clearly, is not good enough a reason to not support it in view of all those good charity and education work it does. We can still join it and help it and support it, as long as we make clear we are "broadly against terrorism". It's not, after all, as if said organization wants to genocide anybody who matters, you know, or is dedicated to the killing of full human beings.
Merely wanting to genocide all the Jews is a bit like wanting to kill all squirrels: a bizzare, disgusting goal, to be sure, but not in itself enough to morally forbid supporting the organization dedicated to it, if it does enough good charity and educational work. At most, all is required from us that we declare we are "broadly against squirrel-killing" as we give the organization our moral support.