.. staying at the hotel last year, we decided to go again.
There is no subject (a word like "we") in any of the options proposed for the part of the sentence up to the comma (for the clause ".. staying at the hotel last year").
This means the two clauses, the one before and the one after the comma, are linked very hard. So hard that one of these clauses cannot be used on its own as a separate sentence. Let's check:
We decided to go again. (clause 2)
It is unclear where we decided to go exactly, but this is still a valid sentence. This means it's an independent clause.
Enjoying/Having enjoyed/Had enjoyed/Had been enjoying staying at the hotel last year. (clause 1)
When we apply any of the 4 options, the sentence does not become valid (on its own, without clause 2 attached). It could become valid if we add a subject like "we" in some of the options.
For example, the whole sentence could become valid with option c if we imagine an omitted we in clause 1 and use a semicolon instead of the comma:
(We) had enjoyed staying at the hotel last year; we decided to go again. (option c with some modifications)
But since there's no subject like "we" and there's a comma, it's much more likely that clause 1 is meant to be dependent upon clause 2: it should merely add to the meaning of clause 2, not be a standalone ("independent") clause.
Option d would not work for the same reason, moreover, it uses the Past Perfect Progressive: there should be a mention of a past event after which your "enjoyment" stopped.
This leaves us with two options, a and b. Each of these options uses a non-finite verb, hence each of this options makes clause 1 a non-finite clause.
Enjoying staying at the hotel last year, we decided to go again.
We could imagine a family making a decision while being in the process of enjoyment, but the sentence looks strange for some reason. Maybe a native speaker will explain. Maybe a non-finite clause is insufficient to carry the sense "while we were enjoying".
Having enjoyed staying at the hotel last year, we decided to go again.
This sentence is right on the spot: the non-finite clause explains the reason why we decided to go to the hotel again. To be more precise, clause 1 is what is called a participial clause or participle clause.