He could be doing it for himself, or because certain information is confidential and cannot be shared under any circumstances, in that case, it could be him doing it for the country/he will get in big trouble otherwise. Some information that the US government has could get us in very, very big trouble if other countries find out that we have it. I’m not 100% sure, but I do not believe you can force anyone to testify. Especially one who works so high up in the government. A judge might be able to deny a plea if the reasoning isn’t good, but again, I’m not sure. If they really wanted/needed him to testify they could possibly hold him in contempt until he decides to. But I’m thinking that if his reasoning for taking the plea is something along the lines of “This is highly confidential information, and I cannot share it with unauthorized people”, they can’t do anything about it.