I'm not sure if you'd be interested in doing this but one way to deal with the sample type you describe is as follows: pack a column with high capacity anion exchange resin in the hydroxide form (you don't need particularly high chromatographic efficiency for this, so self-packed columns will work fine). Under these conditions, your target compound will be anionic. You'll need to calculate the size of column required such that total number of equivalents for all anions in your sample is no more than 80% of the column capacity. When you pass this solution over the resin, the sodium should pass through unretained. If you then elute with a weak acid (say, for example, acetic acid) you will elute the zwitterion first, leaving the citrate behind since it is a stronger acid. You can then strip off the acetic acid to leave behind purified zwitterion.