entsinnen is used very seldom. It's an
old word for remember sth. Look here for the flection of the word:
remember in German. You can use it the same way you would use remember in English (this is regarding to the meaning of both words. Please have a look at the comment of Thorsten Dittmar). Also it's manly used.
besinnen is a bit more complicated. It's meaning is more about 'bring something back on ones mind'. That may be bad English but I am not able to give a single word for it's translation.
reflect could be good translation.
besinnen" is often used to say something like :
"Sich auf das Wesentliche besinnen" which means something like:
"To focus on the important" or
"to get back to basics".
erinnern is your best choice if you are not sure about what word to use.
entsinnen is an older term and seldom used in "common German".
Even in the examples of
besinnen you could use
erinnern. Like "Sich an das Wesentliche erinnern". That would be good German too. We also would use phrases like this.