Can I use a Mann-Whitney U test to compare 2 small groups, with unequal amounts of data, non-normal distributions, and unequal variance? I want to compare data between 2 independent groups to determine whether there is a significant difference between the groups. 1 group has 8 data points, and the other has 9. Separately, I would like to compare data between 2 more independent groups, in which 1 group has 8 data points and the other has 43.
According to a Shapiro-Wilk test, my groups do not reflect normality. According to an F-test, my groups do not reflect equal variance. Some sources claim that equal variance is an assumption of the Mann-Whitney U test, while others claim that equal variance is not necessary to use the test. Some sources claim that a Brunner-Munzel test would be more appropriate as an alternative for the Mann-Whitney U test, citing that it would account for unequal variance. What should I do?

Yes, for unequal sample sizes and non-normal data.
But be careful using this test for small samples
or noticeably different variances.
Power is very poor if either sample has fewer then about
five observations. In the example below, you might think
it is clear that samples x1 and x2 come from
populations with different medians, the test (as implemented
in R) finds no difference. There are only ${6 \choose 3} = 20$
ways to put the six observations into two groups of three, and two of those ways provide such extreme 'separation'. So, there is one chance in ten of getting such different samples.
x1 = c(1,2,3)
x2 = c(98,99,100)
wilcox.test(x1, x2)

        Wilcoxon rank sum test

data:  x1 and x2
W = 0, p-value = 0.1
alternative hypothesis: 
 true location shift is not equal to 0

Moreover, If you need to interpret the Mann-Whitney-Wilcoxon rank sum test as a test of unequal population medians, then the two samples should be of similar shape and that
implies nearly-equal variances.
Consider the following fictitious data, where variances are
far from equal.
set.seed(325)
x1 = rnorm(7, 50, 10)
x2 = rnorm(20, 51, 2)

median(x1)
[1] 44.33793
median(x2)
[1] 51.56419

When variances differ, this test is often for stochastic
dominance rather than for difference in medians. Here
the test fails to find any difference at the 5% level.
wilcox.test (x1, x2)

           Wilcoxon rank sum test

data:  x1 and x2
W = 38, p-value = 0.08127
alternative hypothesis: 
   true location shift is not equal to 0

Not surprisingly, a plot of the empirical CDFs of the two samples
is not so easy to interpret. Mostly, x2 (blue) dominates
x1, plotting mainly below and to the right, but domination
is not clear-cut.
plot(ecdf(x1), col="brown")
lines(ecdf(x2), col="blue")


Because data are normal, one could have used a Welch 2-sample t test (which does not require equal variances), but it also fails to find a difference at the 5% level. [Roughly speaking, the small DF can be regarded as a 'penalty' for
unequal sample variances.]
t.test(x1, x2)

        Welch Two Sample t-test

data:  x1 and x2
t = -2.1647, df = 6.264, p-value = 0.07169
alternative hypothesis: 
 true difference in means is not equal to 0
95 percent confidence interval:
 -13.1340230   0.7371156
sample estimates:
mean of x mean of y 
 45.00702  51.20548 

