Both are good. I'm a little confused as to why your republic can't afford a large military though, you should have tons of cash. Fighters can cover 9 cities if you use CxxC city placement, while SAMs can only cover 1 city. However SAMs can be moved into a city and provide air defence the same turn, fighters have to sit out their rebase turn.
I'd build both. If the AI has a large ground based military, the SAMs also have a defensive rating, so they can defend if the AI kills your Mech Infantry. However, remember, fighters defend anything within 5 tiles of their base when you perform air superiority. The problem is, you never know where the AI will bomb until they do, and if you move your fighters into the city the AI has chosen to bomb, they will get hurt/destroyed once they have been re-based. If you have another city within 5 tiles, move them to that city and perform air superiority missions.